package com.vcs.frm.web.form.school;

import javax.validation.constraints.Digits;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

public class NewAdmissionEnquiryForm {

	/* Student Details */
	@NotEmpty(message = "First Name can not be empty")
	@Size(min = 0, max = 200, message = "First Name is too long")
	private String studentFirstName;
	
	@Size(min = 0, max = 200, message = "Middle Name is too long")
	private String studentMiddleName;
	
	@Size(min = 0, max = 200, message = "Last Name is too long")
	private String studentLastName;
	
	@NotNull(message = "Please provide Student\'s Gender")
	private String sex;
	
	@Min(value=1, message="Age Can not be less than 1 year")
	@Max(value=20, message="Age Can not more than 20 years")
	private int age;
	
	private int admissionClass;
	private String currentSchool;
	private int schoolCity;
	private int schoolCountry;

	/* Parent/guardian details */
	@NotEmpty(message = "Parent\'s First Name can not be empty")
	@Size(min = 0, max = 200, message = "Parent\'s	 First Name is too long")
	private String parentFirstName;
	private String parentMiddleName;
	private String parentLastName;

	/* Contact Details */
	@Length(min = 1, max = 200, message = "Should be between 1 to 200 characters")
	@NotNull
	private String addressLineOne;

	private String addressLineTwo;

	private String addressLineThree;

	private int city;

	@Length(min = 1, max = 200, message = "Should be between 1 to 200 characters")
	@NotNull
	private String country;

	// @Length(min = 6, max = 6, message = "Zipcode should be 6 digit long")
	@Min(value = 111111, message = "Zipcode should be 6 digit long")
	@Max(value = 999999, message = "Zipcode should be 6 digit long")
	@Digits(integer = 6 ,message="Zipcode must be a Number", fraction = 0)
	private int zipCode;

	/* Address ends */

	private String comments;

	public NewAdmissionEnquiryForm() {
		// TODO Auto-generated constructor stub
	}

	public String getStudentFirstName() {
		return studentFirstName;
	}

	public void setStudentFirstName(String studentFirstName) {
		this.studentFirstName = studentFirstName;
	}

	public String getStudentMiddleName() {
		return studentMiddleName;
	}

	public void setStudentMiddleName(String studentMiddleName) {
		this.studentMiddleName = studentMiddleName;
	}

	public String getStudentLastName() {
		return studentLastName;
	}

	public void setStudentLastName(String studentLastName) {
		this.studentLastName = studentLastName;
	}

	public int getAdmissionClass() {
		return admissionClass;
	}

	public void setAdmissionClass(int admissionClass) {
		this.admissionClass = admissionClass;
	}

	public String getCurrentSchool() {
		return currentSchool;
	}

	public void setCurrentSchool(String currentSchool) {
		this.currentSchool = currentSchool;
	}

	public int getSchoolCity() {
		return schoolCity;
	}

	public void setSchoolCity(int schoolCity) {
		this.schoolCity = schoolCity;
	}

	public int getSchoolCountry() {
		return schoolCountry;
	}

	public void setSchoolCountry(int schoolCountry) {
		this.schoolCountry = schoolCountry;
	}

	public String getParentFirstName() {
		return parentFirstName;
	}

	public void setParentFirstName(String parentFirstName) {
		this.parentFirstName = parentFirstName;
	}

	public String getParentMiddleName() {
		return parentMiddleName;
	}

	public void setParentMiddleName(String parentMiddleName) {
		this.parentMiddleName = parentMiddleName;
	}

	public String getParentLastName() {
		return parentLastName;
	}

	public void setParentLastName(String parentLastName) {
		this.parentLastName = parentLastName;
	}

	public String getAddressLineOne() {
		return addressLineOne;
	}

	public void setAddressLineOne(String addressLineOne) {
		this.addressLineOne = addressLineOne;
	}

	public String getAddressLineTwo() {
		return addressLineTwo;
	}

	public void setAddressLineTwo(String addressLineTwo) {
		this.addressLineTwo = addressLineTwo;
	}

	public String getAddressLineThree() {
		return addressLineThree;
	}

	public void setAddressLineThree(String addressLineThree) {
		this.addressLineThree = addressLineThree;
	}

	public int getCity() {
		return city;
	}

	public void setCity(int city) {
		this.city = city;
	}

	public String getCountry() {
		return country;
	}

	public void setCountry(String country) {
		this.country = country;
	}

	public int getZipCode() {
		return zipCode;
	}

	public void setZipCode(int zipCode) {
		this.zipCode = zipCode;
	}

	public String getComments() {
		return comments;
	}

	public void setComments(String comments) {
		this.comments = comments;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
	
	public void setSex(String sex) {
		this.sex = sex;
	}
	
	public String getSex() {
		return sex;
	}

	@Override
	public String toString() {
		return "NewAdmissionEnquiryForm [addressLineOne=" + addressLineOne
				+ ", addressLineThree=" + addressLineThree
				+ ", addressLineTwo=" + addressLineTwo + ", admissionClass="
				+ admissionClass + ", age=" + age + ", city=" + city
				+ ", comments=" + comments + ", country=" + country
				+ ", currentSchool=" + currentSchool + ", parentFirstName="
				+ parentFirstName + ", parentLastName=" + parentLastName
				+ ", parentMiddleName=" + parentMiddleName + ", schoolCity="
				+ schoolCity + ", schoolCountry=" + schoolCountry
				+ ", studentFirstName=" + studentFirstName
				+ ", studentLastName=" + studentLastName
				+ ", studentMiddleName=" + studentMiddleName + ", zipCode="
				+ zipCode + "]";
	}

}
